# -*- coding:utf-8 -*-

# @Time    : 2023/6/27 17:05
# @Author  : zengwenjia
# @Email   : zengwenjia@lingxi.ai
# @File    : determine_solution.py
# @Software: LLM_internal

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
from agent.llm_agent import LLMAgent

default_template = """
作为一个最专业{role}的解决方案构建agent,场景是向一位用户致电，邀请用户或用户的家人来泰康高品质养老社区进行免费参观。你主要的任务是解决用户反馈的养老社区距离太远的问题，你需要根据用户信息、泰康养老社区表和对话上下文信息来判断接下来最优的沟通策略。
判断逻辑为：根据用户的城市、用户的省会，结合养老社区表和养老社区是否开业选择下一步策略
            1. 如果用户所在城市有园区且开业，则推荐用户城市所在的园区；
            2. 如果用户所在城市有园区但未开业，则使用提前预约服务策略并推荐附近园区；
            3. 如果用户所在城市无园区且所在省份有园区，则推荐所在省份的园区并介绍亮点；
            4. 如果用户所在城市无园区且所在省份也无园区，则询问是否接受异地养老；
                4.1 如果用户所在城市无园区且所在省份也无园区，用户接受异地养老，则使用候鸟式养老服务策略；
                4.2 如果用户所在城市无园区且所在省份也无园区，用户不接受异地养老，则礼貌挂机。

注意以下事项：
    1.接下来的沟通策略在判断逻辑中选择，尽量是判断逻辑中的原文，不要无中生有；
    2.回复的内容将用于生成具体回复用户的话术，不要包含不必要的信息；
    3.回复的内容只用于下一轮和用户沟通的话术生成，不要列出具体详细的步骤，不要列出原因，也不用枚举各种用户问题或解决方案的情况，只需要给出下一步沟通策略的结论；
    4.接下来的沟通策略带上用户的城市信息，如："推荐北京所在的园区"、"使用提前预约服务策略并推荐天津附近园区位置"、"推荐锦州所在省份的园区并介绍亮点"
    
用户信息：{user_info}
泰康养老社区表：{background_knowledge}
对话上下文信息：
===
{conversation_history}
===
根据用户信息、泰康养老社区表和对话上下文信息，请一步步思考，分析原因，用一句话简要概括接下来的沟通策略是：
"""
class DistanceProblemAgent(LLMAgent):
    """用户问题及疑议判断机器人"""
    def __init__(self, role, user_info, conversation_history):
        self.prompt = default_template.format(role=role, user_info=user_info,conversation_history=conversation_history,
                                              background_knowledge=background_knowledge)
        super().__init__(self.prompt)

background_knowledge = """
| 园区  | 位置信息                                      | 养老单元 | 是否开业 | 开业时间     | 城市  |
|-----|-------------------------------------------|------|------|----------|-----|
| 燕园  | 北京市昌平区南邵镇景荣街88号                           | 3000 | 是    | 2015年6月  | 北京  |
| 津园  | 天津市西青区侯台水西公园核心地块                          | 1600 | 否    | 未公布      | 天津  |
| 楚园  | 武汉东湖新技术开发区花山生态新城严西湖路66号                   | 670  | 是    | 2020年7月  | 武汉  |
| 湘园  | 湖南省长沙市岳麓区梅溪湖街道泉水路600号                     | 1820 | 是    | 2023年1月  | 长沙  |
| 豫园  | 河南省郑州市郑东新区白沙园区生命科学园绿博大道（郑汴物流通道）与贾鲁河交叉口西南处 | 3600 | 否    | 2023年11月 | 郑州  |
| 赣园  | 南昌红谷滩区九龙湖新城核心地                            | 920  | 是    | 2021年12月 | 南昌  |
| 鹭园  | 厦门市同安区，晋安区登云路以南                           | 770  | 是    | 2022年    | 厦门  |
| 琴园  | 山东省青岛市城阳区春阳路(青特公园北侧约50米)                  | 850  | 否    | 2023年12月 | 青岛  |
| 申园  | 上海历史发源地松江，毗邻广富林遗址和松江大学城松江区广轩路298号         | 2100 | 是    | 2016年7月  | 上海  |
| 锦绣府 | 上海浦东内环，首个城市型高品质养老社区                       | 200  | 是    |          | 上海  |
| 大清谷 | 杭州西湖区转塘街道清谷路333号                          | 350  | 是    | 2020年10月 | 杭州  |
| 浙园  | 杭州西湖区小和山，大清谷一山之隔                          | 1300 | 否    | 未公布      | 杭州  |
| 徽园  | 安徽省合肥市包河区贵阳路与云南路交叉口东北侧                    | 1380 | 是    | 2023年    | 合肥  |
| 甬园  | 浙江省宁波市鄞州区江澄南路与清泽街交叉路口西南侧                  | 1100 | 是    | 2023年    | 宁波  |
| 苏园  | 江苏省南京市仙林大学城学子路东侧                          | 1100 | 是    | 2023年10月 | 南京  |
| 吴园  | 江苏省苏州市工业园区澄边路8号                           | 1310 | 是    | 2019年11月 | 苏州  |
| 福园  | 福建省福州市晋安区登云路以南（登云水库东侧用地）                  | 1100 | 否    | 预计2024年  | 福州  |
| 瓯园  | 浙江省温州市瓯海区学府北路生命健康小镇                       | 1500 | 否    | 预计2024年  | 温州  |
| 儒园  | 高新东区的中心景观彩虹湖公园                            | 2600 | 否    | 未公布      | 济南  |
| 蒙园     | 呼和浩特市新城区，距离呼和浩特政府仅3.6公里              | 900  | 否 | 无       | 呼和浩特  |
| 滇园     | 云南省昆明市呈贡区                            | 1400 | 否 | 无       | 昆明    |
| 禅园     | 佛山市绿岛湖片区                             | 680  | 否 | 无       | 佛山    |
| 粤园     | 广州市黄埔区永顺大道西126号泰康之家·粤园（市干部疗养院东行600米） | 1200 | 是 | 2017年1月 | 广州    |
| 桂园     | 广西南宁市兴宁区天德路21号                       | 1160 | 是 | 2023年2月 | 南宁    |
| 鹏园     | 深圳龙岗区滨海二路与银滩路交叉路口                    | 870  | 是 | 2023年8月 | 深圳    |
| 海棠湾度假村 | 海南省三亚市海棠区海棠南路与通海路交汇处西南侧              | 0    | 是 | 暂无超体部分  | 三亚    |
| 沈园     | 辽宁省沈阳市浑南区白塔二街与莫子山路交叉口东北侧             | 800  | 是 | 2022年1月 | 沈阳    |
| 吉园     | 吉林省长春市东南部                            | 1290 | 否 |         | 长春    |
| 蜀园     | 四川省成都市温江区民康路299号                     | 2000 | 是 | 2018年3月 | 成都    |
| 锦官府    | 成都天府新区锦江生态带天府大道南端                    | 900  | 否 | 暂无超体部分  | 成都    |
| 渝园     | 重庆市渝北区大竹林街道青岗路186号                   | 1430 | 是 | 2023年9月 | 重庆    |
| 秦园     | 泰康之家·秦园坐落于陕西·西安梁家滩湿地公园               | 800  | 否 | 无       | 西安    |
| 黔园     | 贵州省贵阳市观山湖区                           | 1400 | 否 | 无       | 贵阳    |
"""
